/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author tashiba
 */
public class PengendaliMahasiswa {

    public static String nama = "Daftar Mahasiswa ";
    public static ArrayList<Yudisium> DAFTAR_MAHASISWA = new ArrayList<Yudisium>();

    public static void tambahMahasiswa(Yudisium mahasiswa) {
        DAFTAR_MAHASISWA.add(mahasiswa);
    }

    public static String bacaDaftarMahasiswa() {
        if (DAFTAR_MAHASISWA.isEmpty() == false) {
            String hasil = new String();
            for (int i = 0; i < DAFTAR_MAHASISWA.size(); i++) {
                hasil += "\nNama           : " + DAFTAR_MAHASISWA.get(i).getNama() + "\n";
                hasil += "NIM            : " + DAFTAR_MAHASISWA.get(i).getNim() + "\n";
                hasil += "Telp/Email     : " + DAFTAR_MAHASISWA.get(i).getTelpEmail() + "\n";
                hasil += "Prodi          : " + DAFTAR_MAHASISWA.get(i).getProdi() + "\n";
                hasil += "Periode        : " + DAFTAR_MAHASISWA.get(i).getPeriode() + "\n";
                hasil += "Hari           : " + DAFTAR_MAHASISWA.get(i).getHari() + "\n";
                hasil += "Tanggal        : " + DAFTAR_MAHASISWA.get(i).getTanggal() + "\n";
                hasil += "Daftar nilai        : " + DAFTAR_MAHASISWA.get(i).getDaftarNilai() + "\n";
                hasil += "naskah TA        : " + DAFTAR_MAHASISWA.get(i).getNaskahTA() + "\n";
                hasil += "b        : " + DAFTAR_MAHASISWA.get(i).getBebasPinjLab() + "\n";
                hasil += "Tanggal        : " + DAFTAR_MAHASISWA.get(i).getBebasPinjDosen() + "\n";
                hasil += "Tanggal        : " + DAFTAR_MAHASISWA.get(i).getKP() + "\n";
                hasil += "Tanggal        : " + DAFTAR_MAHASISWA.get(i).getToefl() + "\n";
                hasil += "Tanggal        : " + DAFTAR_MAHASISWA.get(i).getPengesahanTA() + "\n";
                hasil += "Tanggal        : " + DAFTAR_MAHASISWA.get(i).getSistemPoin() + "\n";
                hasil += "Tanggal        : " + DAFTAR_MAHASISWA.get(i).getRBM() + "\n";


            }
            return hasil;
        }

        return "kosong";
    }
//    public static void tambahTabelMahasiswa(Yudisium mahasiswa) {
//
//            Connection conn = OraConnection.open("jdbc:oracle:thin:@localhost:1521:xe","elsa","115314011");
//            java.sql.Statement statement = null;
//            try {
//            statement = conn.createStatement();
//            String sql = "INSERT INTO MAHASISWA (NAMA,NIM,TELP_EMAIL,PRODI,PERIODE,"
//                    + "HARI,TANGGAL,DAFTAR_NILAI,NASKAH_TA,BEBAS_PINJAMAN_LAB,"
//                    + "BEBAS_PINJAMAN_DOSEN,KP,TOEFL,PENGESAHAN_TA"
//                    + "SISTEM_POIN,RBM) values('"+mahasiswa.getNama()+"','"
//                    + mahasiswa.getNim()+"','"+mahasiswa.getTelpEmail()+"','"
//                    + mahasiswa.getProdi()+"','" +mahasiswa.getPeriode()+"','"
//                    + mahasiswa.getHari()+"','" + mahasiswa.getTanggal()+"','"
//                    + mahasiswa.getDaftarNilai()+"','"+mahasiswa.getNaskahTA()+"','"
//                    + mahasiswa.getBebasPinjLab()+"','"+mahasiswa.getBebasPinjDosen()+"','"
//                    + mahasiswa.getKP()+"','"+mahasiswa.getToefl()+"','"
//                    + mahasiswa.getPengesahanTA()+"','"+ mahasiswa.getSistemPoin()+"','"
//                    + mahasiswa.getRBM()+"')" ;
//            statement.executeUpdate(sql);
//            conn.close();
//        } catch (SQLException ex) {
//            Logger.getLogger(PengendaliMahasiswa.class.getName()).log(Level.SEVERE, null, ex);
//        }
//    }

    public static void tambahTabelMahasiswa(Yudisium mahasiswa) {
        Connection conn = OraConnection.open("jdbc:oracle:thin:@localhost:1521:xe", "HR", "elsa");
        Statement statement = null;
        try {
            statement = conn.createStatement();
            String sql = "insert into mahasiswa (nama, nim, nomor_email, prodi,  periode,"
                    + "hari, tanggal,daftar_nilai,"
                    + "naskah_ta, bebaspinjam_lab, bebaspinjam_dosen,"
                    + "kp, toefl, ta, "
                    + "sistem_poin,rbm) values ('"
                    + mahasiswa.getNama() + "','" + mahasiswa.getNim() + "','"
                    + mahasiswa.getTelpEmail() + "','" + mahasiswa.getProdi() + "','"
                    + mahasiswa.getPeriode() + "','"
                    + mahasiswa.getHari() + "','" + mahasiswa.getTanggal() + "','"
                    + mahasiswa.getDaftarNilai() + "','"
                    + mahasiswa.getNaskahTA() + "','"
                    + mahasiswa.getBebasPinjLab() + "','"
                    + mahasiswa.getBebasPinjDosen() + "','"
                    + mahasiswa.getKP() + "','" + mahasiswa.getToefl() + "','"
                    + mahasiswa.getPengesahanTA() + "','"
                    + mahasiswa.getSistemPoin() + "','" + mahasiswa.getRBM()
                    + "')";
            //System.out.println(sql);
            statement.executeUpdate(sql);
            conn.close();
        } catch (SQLException ex) {
            Logger.getLogger(PengendaliMahasiswa.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void simpanTabelMahasiswa() {
        if (DAFTAR_MAHASISWA.isEmpty()) {
            JOptionPane.showMessageDialog(null, "Daftar Mahasiswa Kosong");
        } else {
            Connection conn = OraConnection.open("jdbc:oracle:thin:@localhost:1521:xe", "HR", "elsa");
            Statement statement = null;
            try {
                statement = conn.createStatement();
            } catch (SQLException ex) {
                Logger.getLogger(PengendaliMahasiswa.class.getName()).log(Level.SEVERE, null, ex);
            }
            for (int i = 0; i < DAFTAR_MAHASISWA.size(); i++) {
                String sql = "insert into YUDISIUM (nama, nim, nomor_email, prodi, periode,"
                        + "hari, tanggal) values ('"
                        + DAFTAR_MAHASISWA.get(i).getNama() + "','"
                        + DAFTAR_MAHASISWA.get(i).getNim() + "','"
                        + DAFTAR_MAHASISWA.get(i).getTelpEmail() + "','"
                        + //                                                    DAFTAR_MAHASISWA.get(i).getEmail() + "','" +
                        DAFTAR_MAHASISWA.get(i).getProdi() + "','"
                        + DAFTAR_MAHASISWA.get(i).getPeriode() + "','"
                        + DAFTAR_MAHASISWA.get(i).getHari() + "','"
                        + DAFTAR_MAHASISWA.get(i).getTanggal() + "')";
                try {
                    statement.executeUpdate(sql);
                } catch (SQLException ex) {
                    Logger.getLogger(PengendaliMahasiswa.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            try {
                conn.close();
            } catch (SQLException ex) {
                Logger.getLogger(PengendaliMahasiswa.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}
